@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;
    --card: 0 0% 100%;
    --card-foreground: 222.2 84% 4.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 222.2 84% 4.9%;
    --primary: 221.2 83.2% 53.3%;
    --primary-foreground: 210 40% 98%;
    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;
    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;
    --accent: 210 40% 96.1%;
    --accent-foreground: 222.2 47.4% 11.2%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;
    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 221.2 83.2% 53.3%;
    --radius: 0.5rem;
  }

  .dark {
    --background: 222.2 84% 4.9%;
    --foreground: 210 40% 98%;
    --card: 222.2 84% 4.9%;
    --card-foreground: 210 40% 98%;
    --popover: 222.2 84% 4.9%;
    --popover-foreground: 210 40% 98%;
    --primary: 217.2 91.2% 59.8%;
    --primary-foreground: 222.2 47.4% 11.2%;
    --secondary: 217.2 32.6% 17.5%;
    --secondary-foreground: 210 40% 98%;
    --muted: 217.2 32.6% 17.5%;
    --muted-foreground: 215 20.2% 65.1%;
    --accent: 217.2 32.6% 17.5%;
    --accent-foreground: 210 40% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 210 40% 98%;
    --border: 217.2 32.6% 17.5%;
    --input: 217.2 32.6% 17.5%;
    --ring: 224.3 76.3% 48%;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
  
  /* Basic HTML Elements */
  h1, h2, h3, h4, h5, h6 {
    @apply font-bold tracking-tight scroll-mt-20;
  }
  
  h1 {
    @apply text-4xl mb-4;
  }
  
  h2 {
    @apply text-3xl mt-10 mb-4;
  }
  
  h3 {
    @apply text-2xl mt-8 mb-4;
  }
  
  h4 {
    @apply text-xl mt-6 mb-4;
  }
  
  h5 {
    @apply text-lg mt-4 mb-4;
  }
  
  h6 {
    @apply text-base mt-4 mb-4;
  }
}

/* Tables */
table {
  @apply w-full border-collapse;
}

th, td {
  @apply border border-border p-2;
}

th {
  @apply bg-muted font-semibold text-left;
}

td[align="center"] {
  @apply text-center;
}

td[align="right"] {
  @apply text-right;
}

/* Code Blocks */
pre {
  @apply my-4 p-4 rounded-lg bg-muted overflow-x-auto relative;
}

code {
  @apply bg-muted px-1.5 py-0.5 rounded-md;
}

.copy-button {
  @apply absolute right-2 top-2;
}

/* Math Formulas */
.katex-display {
  @apply overflow-x-auto overflow-y-hidden;
}

/* Definition Lists */
dl {
  @apply mt-4;
}

dt {
  @apply font-semibold;
}

dd {
  @apply ml-4;
}

/* Task Lists */
.contains-task-list {
  @apply list-none pl-0;
}

.task-list-item {
  @apply flex items-center gap-2;
}

/* Footnotes */
.footnotes {
  @apply mt-8 border-t border-border pt-4;
}

.footnotes ol {
  @apply list-decimal pl-4;
}

.footnote-ref,
.footnote-backref {
  @apply text-primary no-underline hover:underline;
}

/* Math Blocks */
.math-display {
  @apply overflow-x-auto my-4 py-2;
}

.katex-display {
  @apply overflow-x-auto py-2;
}

.katex {
  @apply text-current;
}

